package com.guodi.model.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guodi.common.utils.AjaxResult;
import com.guodi.core.secure.LoginUser;
import com.guodi.model.entity.IdtModelLayer;

import java.util.List;

/**
 * @描述：指标、模型关联图层信息表接口
 * @作者: 汤厚韬
 * @日期: 2021-1-11
 */
public interface IIdModelLayerService extends IService<IdtModelLayer> {

    /**
     * @描述: 新增保存指标、模型关联图层数据
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult saveIdtModelLayerList(String saveJson, LoginUser bladeUser);

    /**
     * @描述: 更新保存指标、模型关联图层数据
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult updateIdtModelLayer(IdtModelLayer idtModelLayer, LoginUser bladeUser);

    /**
     * @描述: 获取最多排序数
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult selectMaxSort(String parentId);

    /**
     * @描述: 删除指标、模型关联图层数据
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult deleteIdtModelLayer(String ids);

    /**
     * @描述: 新增指标、模型关联图层目录
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult addRelDir(IdtModelLayer idtModelLayer, LoginUser bladeUser);

    /**
     * @描述: 更新指标、模型关联图层目录
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021/1/11
     **/
    AjaxResult updateRelDir(IdtModelLayer idtModelLayer, LoginUser bladeUser);

    /**
     * @描述: 根据主键删除关联目录
     * @入参: id
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021-1-11
     **/
    AjaxResult deleteRelDir(String id);

    /**
     * @描述: 根据体型ID获取所有关联数据
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021-1-11
     **/
    List<IdtModelLayer> getListBySystemId(String systemId);

    /**
     * @描述: 获取指标、模型关联图层列表
     * @入参:
     * @出参:
     * @作者: 汤厚韬
     * @日期: 2021-1-11
     **/
    AjaxResult getRelLayerList(String parentId, String year, String divisionCode);
}
